// 在 Windows 的发布构建中禁用控制台
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]

mod config;
mod fps_plugin;
mod game;
mod persistence;
mod utils; // 添加 utils 模块

use bevy::{diagnostic::FrameTimeDiagnosticsPlugin, prelude::*, render::texture::ImagePlugin};

use config::ConfigPlugin;
use fps_plugin::FpsPlugin;
use game::GamePlugin;
use utils::world_pos_to_block_map_pos; // 引入 utils 中的函数

fn main() {
    App::new()
        .add_plugins((
            DefaultPlugins
                .set(WindowPlugin {
                    primary_window: Some(Window {
                        title: "简简单单种个地!".into(),
                        name: Some("简简单单种个地!".into()),
                        resolution: (1080., 720.).into(),
                        ..Default::default()
                    }),
                    close_when_requested: false,
                    ..Default::default()
                })
                // 设置图片插件的默认缩放模式为最近邻 保证像素艺术不模糊
                .set(ImagePlugin::default_nearest()),
            FrameTimeDiagnosticsPlugin {
                ..Default::default()
            },
        ))
        .add_plugins(ConfigPlugin)
        .add_plugins(FpsPlugin) // 添加 FPS 插件
        .add_plugins(GamePlugin)
        .run();
}
